package com.atlin.project.model.dto.userTasks;


import com.atlin.project.common.PageRequest;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.Date;

/**
 * 查询请求
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class UserTasksQueryRequest extends PageRequest implements Serializable {

    /**
     * 查询参数 -- 模糊查询
     */
    private String searchText;


    /**
     * 任务ID
     */
    private Long id;

    /**
     * 任务空间ID
     */
    private Long taskSpaceId;

    /**
     * 任务标题
     */
    private String title;

    /**
     * 任务描述
     */
    private String description;

    /**
     * 任务状态 pending, in_progress, completed, archived
     */
    private String status;

    /**
     * 任务优先级 low, medium, high, urgent
     */
    private String priority;

    /**
     * 任务截止日期
     */
    private Date dueDate;

    /**
     * 任务创建时间
     */
    private Date createdTime;

    /**
     * 任务更新时间
     */
    private Date updateTime;

    /**
     * 任务完成时间
     */
    private Date completedTime;

    /**
     * 预计耗时（分钟）
     */
    private Integer estimatedTime;

    /**
     * 父任务ID（支持子任务）
     */
    private Long parentTaskId;


    private static final long serialVersionUID = 1L;
}